[INFO] cloning repository https://github.com/brunodea/gebemula
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brunodea/gebemula" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrunodea%2Fgebemula", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrunodea%2Fgebemula'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 19ef00deb2d78ee88dd9a357db48568c7a0329a6
[INFO] checking brunodea/gebemula against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrunodea%2Fgebemula" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/brunodea/gebemula
[INFO] finished tweaking git repo https://github.com/brunodea/gebemula
[INFO] tweaked toml for git repo https://github.com/brunodea/gebemula written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/brunodea/gebemula on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/brunodea/gebemula already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded time v0.1.40
[INFO] [stderr]   Downloaded redox_syscall v0.1.37
[INFO] [stderr]   Downloaded sdl2 v0.31.0
[INFO] [stderr]   Downloaded textwrap v0.9.0
[INFO] [stderr]   Downloaded num-integer v0.1.38
[INFO] [stderr]   Downloaded blip_buf-sys v0.1.3
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded cfg-if v0.1.3
[INFO] [stderr]   Downloaded arrayref v0.3.4
[INFO] [stderr]   Downloaded atty v0.2.10
[INFO] [stderr]   Downloaded unicode-width v0.1.4
[INFO] [stderr]   Downloaded blip_buf v0.1.4
[INFO] [stderr]   Downloaded strsim v0.7.0
[INFO] [stderr]   Downloaded termion v1.5.1
[INFO] [stderr]   Downloaded redox_termios v0.1.1
[INFO] [stderr]   Downloaded gcc v0.3.54
[INFO] [stderr]   Downloaded num-traits v0.2.4
[INFO] [stderr]   Downloaded rand v0.4.2
[INFO] [stderr]   Downloaded clap v2.31.2
[INFO] [stderr]   Downloaded libc v0.2.40
[INFO] [stderr]   Downloaded sdl2-sys v0.31.0
[INFO] [stderr]   Downloaded winapi v0.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9d419a713f95fc9f449e577602dcc40f58f1d9106f30d169af24eee51986f2d
[INFO] running `Command { std: "docker" "start" "-a" "a9d419a713f95fc9f449e577602dcc40f58f1d9106f30d169af24eee51986f2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9d419a713f95fc9f449e577602dcc40f58f1d9106f30d169af24eee51986f2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9d419a713f95fc9f449e577602dcc40f58f1d9106f30d169af24eee51986f2d", kill_on_drop: false }`
[INFO] [stdout] a9d419a713f95fc9f449e577602dcc40f58f1d9106f30d169af24eee51986f2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7728176903c87bf2385fbaad5b157b5837cefa358ace1fe7f451832d3f7c64a7
[INFO] running `Command { std: "docker" "start" "-a" "7728176903c87bf2385fbaad5b157b5837cefa358ace1fe7f451832d3f7c64a7", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.40
[INFO] [stderr]    Compiling num-traits v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.38
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling cfg-if v0.1.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking arrayref v0.3.4
[INFO] [stderr]    Compiling sdl2-sys v0.31.0
[INFO] [stderr]     Checking textwrap v0.9.0
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking atty v0.2.10
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking clap v2.31.2
[INFO] [stderr]    Compiling blip_buf-sys v0.1.3
[INFO] [stderr]     Checking blip_buf v0.1.4
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking sdl2 v0.31.0
[INFO] [stderr]     Checking gebemula v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/cpu/mod.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout] 1093 |             _ => unreachable!(),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/cpu/mod.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout] 1020 |             0x00..=0x07 => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1027 |             0x08..=0x0F => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1034 |             0x10..=0x17 => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1041 |             0x18..=0x1F => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1093 |             _ => unreachable!(),
[INFO] [stdout]      |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/debugger.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/debugger.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |             0x00..=0x07 => format!("rlc {}", r),
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 545 |             0x08..=0x0F => format!("rrc {}", r),
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 546 |             0x10..=0x17 => {
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 550 |             0x18..=0x1F => {
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 579 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mem/mod.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |             _ => panic!("Out of bound! Tried to write to {:#x}.", address),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mem/mod.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             0x0000..=0x7FFF => self.cartridge.write_rom(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 109 |             0x8000..=0x9FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 115 |             0xA000..=0xBFFF => self.cartridge.write_ram(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 116 |             0xC000..=0xCFFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 142 |             _ => panic!("Out of bound! Tried to write to {:#x}.", address),
[INFO] [stdout]     |             ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mem/mod.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |             _ => panic!("Out of bound! Tried to read from {:#x}.", address),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mem/mod.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0x0000..=0x7FFF => self.cartridge.read_rom(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 155 |             0x8000..=0x9FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 163 |             0xA000..=0xBFFF => self.cartridge.read_ram(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 164 |             0xC000..=0xCFFF => self.wram[address as usize - 0xC000],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 210 |             _ => panic!("Out of bound! Tried to read from {:#x}.", address),
[INFO] [stdout]     |             ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_mono` is never used
[INFO] [stdout]    --> src/graphics/mod.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | trait RGB {
[INFO] [stdout]     |       --- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn is_mono(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IO_END` is never used
[INFO] [stdout]  --> src/peripherals/sound.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const IO_END: u16 = 0xFF3F;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR41_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const NR41_REGISTER_ADDR: u16 = 0xFF20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR42_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const NR42_REGISTER_ADDR: u16 = 0xFF21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR43_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const NR43_REGISTER_ADDR: u16 = 0xFF22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR44_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const NR44_REGISTER_ADDR: u16 = 0xFF23;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_FREQUENCY` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const OUTPUT_FREQUENCY: u32 = CPU_FREQUENCY_HZ;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_CHANNELS` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const OUTPUT_CHANNELS: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `output_on` and `frequency` are never used
[INFO] [stdout]    --> src/peripherals/sound.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl WaveVoiceSettings {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 136 |     fn output_on(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn frequency(&self) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `channel_num` is never read
[INFO] [stdout]    --> src/peripherals/sound.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct SquareVoice {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 197 |     channel_num: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ch4` is never read
[INFO] [stdout]    --> src/peripherals/sound.rs:453:5
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct AudioController {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 453 |     ch4: NoiseVoice,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `nr4x`, `nr5x`, and `wave_table` are never used
[INFO] [stdout]    --> src/peripherals/sound.rs:678:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl AudioController {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 678 |     fn nr4x(&self) -> &[u8; 5] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     fn nr5x(&self) -> &[u8; 3] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 686 |     fn wave_table(&self) -> &[u8] {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/mem/cartridge.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     &rom_data[..copy_len].copy_from_slice(&rom[..copy_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let _ = &rom_data[..copy_len].copy_from_slice(&rom[..copy_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/mem/cartridge.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     &ram_data[..copy_len].copy_from_slice(&battery[..copy_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let _ = &ram_data[..copy_len].copy_from_slice(&battery[..copy_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/cpu/mod.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout] 1093 |             _ => unreachable!(),
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/cpu/mod.rs:1093:13
[INFO] [stdout]      |
[INFO] [stdout] 1020 |             0x00..=0x07 => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1027 |             0x08..=0x0F => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1034 |             0x10..=0x17 => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1041 |             0x18..=0x1F => {
[INFO] [stdout]      |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1093 |             _ => unreachable!(),
[INFO] [stdout]      |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/debugger.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/debugger.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |             0x00..=0x07 => format!("rlc {}", r),
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 545 |             0x08..=0x0F => format!("rrc {}", r),
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 546 |             0x10..=0x17 => {
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 550 |             0x18..=0x1F => {
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 579 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mem/mod.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |             _ => panic!("Out of bound! Tried to write to {:#x}.", address),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mem/mod.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             0x0000..=0x7FFF => self.cartridge.write_rom(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 109 |             0x8000..=0x9FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 115 |             0xA000..=0xBFFF => self.cartridge.write_ram(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 116 |             0xC000..=0xCFFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 142 |             _ => panic!("Out of bound! Tried to write to {:#x}.", address),
[INFO] [stdout]     |             ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mem/mod.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |             _ => panic!("Out of bound! Tried to read from {:#x}.", address),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mem/mod.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0x0000..=0x7FFF => self.cartridge.read_rom(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 155 |             0x8000..=0x9FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 163 |             0xA000..=0xBFFF => self.cartridge.read_ram(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 164 |             0xC000..=0xCFFF => self.wram[address as usize - 0xC000],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 210 |             _ => panic!("Out of bound! Tried to read from {:#x}.", address),
[INFO] [stdout]     |             ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_mono` is never used
[INFO] [stdout]    --> src/graphics/mod.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | trait RGB {
[INFO] [stdout]     |       --- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn is_mono(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IO_END` is never used
[INFO] [stdout]  --> src/peripherals/sound.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const IO_END: u16 = 0xFF3F;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR41_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const NR41_REGISTER_ADDR: u16 = 0xFF20;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR42_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const NR42_REGISTER_ADDR: u16 = 0xFF21;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR43_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const NR43_REGISTER_ADDR: u16 = 0xFF22;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR44_REGISTER_ADDR` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const NR44_REGISTER_ADDR: u16 = 0xFF23;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_FREQUENCY` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const OUTPUT_FREQUENCY: u32 = CPU_FREQUENCY_HZ;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTPUT_CHANNELS` is never used
[INFO] [stdout]   --> src/peripherals/sound.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const OUTPUT_CHANNELS: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `output_on` and `frequency` are never used
[INFO] [stdout]    --> src/peripherals/sound.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl WaveVoiceSettings {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 136 |     fn output_on(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn frequency(&self) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `channel_num` is never read
[INFO] [stdout]    --> src/peripherals/sound.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct SquareVoice {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 197 |     channel_num: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ch4` is never read
[INFO] [stdout]    --> src/peripherals/sound.rs:453:5
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct AudioController {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 453 |     ch4: NoiseVoice,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `nr4x`, `nr5x`, and `wave_table` are never used
[INFO] [stdout]    --> src/peripherals/sound.rs:678:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | impl AudioController {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 678 |     fn nr4x(&self) -> &[u8; 5] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     fn nr5x(&self) -> &[u8; 3] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 686 |     fn wave_table(&self) -> &[u8] {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/mem/cartridge.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     &rom_data[..copy_len].copy_from_slice(&rom[..copy_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let _ = &rom_data[..copy_len].copy_from_slice(&rom[..copy_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/mem/cartridge.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     &ram_data[..copy_len].copy_from_slice(&battery[..copy_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let _ = &ram_data[..copy_len].copy_from_slice(&battery[..copy_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.93s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7728176903c87bf2385fbaad5b157b5837cefa358ace1fe7f451832d3f7c64a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7728176903c87bf2385fbaad5b157b5837cefa358ace1fe7f451832d3f7c64a7", kill_on_drop: false }`
[INFO] [stdout] 7728176903c87bf2385fbaad5b157b5837cefa358ace1fe7f451832d3f7c64a7
